﻿using K9Nano.MultiTenancy;
using K9Nano.Share.Collections;

namespace K9Nano.Configuration.Startup
{
    public interface IMultiTenancyConfig
    {
        /// <summary>
        /// Is multi-tenancy enabled?
        /// Default value: false.
        /// </summary>
        bool IsEnabled { get; set; }

        /// <summary>
        /// A list of contributors for tenant resolve process.
        /// </summary>
        ITypeList<ITenantResolver> Resolvers { get; }

        /// <summary>
        /// TenantId resolve key
        /// Default value: "K9TenantId"
        /// </summary>
        string TenantIdResolveKey { get; set; }

        bool IgnoreFeatureCheckForHostUsers { get; set; }
    }
}